Die meisten Browser sollen irgendwann einmal XForms unterstützen, aber bis es so weit ist, ist die einzige verlässliche und skalierbare Methode für die Implementierung eine serverseitige Verarbeitung.
Was sind XForms?
XForms sind eine XML-Anwendung, die die nächste Generation von Formularen im Internet darstellt. Sie teilen traditionelle XHTML-Formulare in drei Teile auf:
- XForms-Modell
- Instanz-Daten
- Benutzeroberfläche
Diese Aufteilung erlaubt die Implementierung starker Typisierung, Wiederverwendbarkeit, Trennung von Inhalt und Darstellung sowie Plattform-Unabhängigkeit. XForms beseitigt die Notwendigkeit des Scripting fast vollständig. Es dient als Schnittstelle für Online-Interaktionen zwischen einem Benutzer und einem anderen (üblicherweise entfernten) Agenten. Diese Interaktion wird durch einen XForms-Prozessor ermöglicht, ein Programm, das die XForms-Spezifikation implementiert. Eine solche Implementierung ist Chiba. Hier die einzelnen Schritte, die man bei der Arbeit mit Chiba durchführen muss. Man beachte, dass es bislang noch keinen Industriestandard für die Java-ähnlichen APIs von XForms zur XML-Verarbeitung (JAXP, JAXM etc.) gibt, weshalb die interne API von Chiba zukünftigen Änderungen unterworfen sein kann.
Das Formular-Modell
Zuerst muss man ein Formular-Modell erstellen, das die Logik des Formulars beschreibt (Listing A). Dieses Modell spezifiziert, welche Felder erforderlich sind, deren Format und an welche XML-Elemente oder Instanz-Daten sie gebunden sind. Das Beispielformular ist einfach. Es besteht aus einer Listbox mit mehreren Wahlmöglichkeiten und einem Textfeld. In einem Webbrowser ist die bequemste Möglichkeit der Darstellung dieser Steuerelemente eine Auswahlliste
Abbildung A
In dem Modell kann man optionale Default-Instanz-Daten erkennen, die im Element
Anzeige des Formulars
Als nächstes können das Formular angezeigt und die vom Benutzer eingegebenen Daten verarbeitet werden (Listing B). Dafür wird ein kleines Servlet geschrieben, welches das Formular mit der Methode doGet() erstellt und die Benutzerdaten in einem DOM-Dokument sammelt, wenn der Benutzer das Formular mit POST – also der Methode doPost() – abschickt.
Eines der primären Ziele des Chiba XForms-Frameworks ist eine Flexibilität, die auf Java-Interfaces beruht. Man muss dabei nur diejenigen Interfaces implementieren, die den eigenen Anforderungen am besten entsprechen. Ein Benutzer möchte vielleicht ein XForms-Modell in einer separaten Datei speichern, ein anderer vielleicht in einer Datenbank. Diese Flexibilität ist der Grund für die Verwendung von Connectors in Chiba. Wir nutzen einen BasicFileSystemConnector – einen Connector, der das XFormsConnector-Interface implementiert. Einer der Nachteile der Flexibilität von Chiba ist, dass die Konstruktion einer Instanz recht knifflig sein kann, weil höhere Flexibilität immer höhere Komplexität mit sich bringt. In diesem speziellen Beispiel wurde eine Chiba-Instanz mithilfe mehrerer zusätzlicher Wrapper-Klassen konstruiert, statt einfach ein Objekt zu erzeugen.
Neueste Kommentare
Noch keine Kommentare zu XForms und Java Frameworks
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.